﻿using System;
using Business_Layer.Business_Layer.Requerimientos;
using Business_Layer.Data_Access_Layer;

namespace SAP.User_Interface.Requerimientos
{
    public partial class Requerimientos : System.Web.UI.Page
    {
        private readonly ControladorRequerimientos _controlador = new ControladorRequerimientos();
        private string _action = string.Empty;

        protected void Page_Load(object sender, EventArgs e)
        {
            _action = Request.Form["action"];

            if (!string.IsNullOrWhiteSpace(_action))
                GetType().GetMethod(_action).Invoke(this, null);
        }

        public void CrearContenidoRequerimientos()
        {
            var proyecto = Request.Form["proyecto"];

            Response.Write(_controlador.CrearContenidoRequerimientos(proyecto));
            Response.End();
        }

        public void ModificarRequerimiento()
        {
            var id = Convert.ToInt32(Request.Form["id"]);

            var proyecto = Request.Form["proyecto"];
            var descripcion = Request.Form["descripcion"];
            var prioridad = Convert.ToInt32(Request.Form["prioridad"]);

            var requerimiento = new REQUERIMIENTOS
                {
                    REQUERIMIENTOS_ID = id,
                    REQUERIMIENTOS_descripcion = descripcion,
                    REQUERIMIENTOS_prioridad = prioridad
                };

            Response.Write(_controlador.ModificarRequerimiento(requerimiento, proyecto));
            Response.End();
        }

        public void RegistrarRequerimiento()
        {
            var proyecto = Request.Form["proyecto"];
            
            var descripcion = Request.Form["descripcion"];
            var prioridad = Convert.ToInt32(Request.Form["prioridad"]);

            var requerimiento = new REQUERIMIENTOS
                {
                    REQUERIMIENTOS_descripcion = descripcion,
                    REQUERIMIENTOS_prioridad = prioridad
                };

            Response.Write(_controlador.RegistrarRequerimiento(requerimiento, proyecto));
            Response.End();
        }

        public void EliminarRequerimiento()
        {
            var id = Convert.ToInt32(Request.Form["id"]);

            Response.Write(_controlador.EliminarRequerimiento(id));
            Response.End();
        }

        public void CrearDialogoAgregarRequerimiento()
        {
            Response.Write(_controlador.CrearDialogoAgregarRequerimiento());
            Response.End();
        }

        public void CargarSelectProyectos()
        {
            var id = Request.Form["id"];

            Response.Write(_controlador.CargarProyectos(id));
            Response.End();
        }
    }
}